---
title: 'Astro Studio'
description: Astro DB 관리를 위한 대화형 대시보드입니다.
i18nReady: true
---
import ReadMore from '~/components/ReadMore.astro';
import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro';

[Astro Studio 웹 포털](http://studio.astro.build)을 사용하면 웹 인터페이스나 [CLI 명령](/ko/reference/cli-reference/#astro-studio-cli)을 사용하여 원격 호스팅 [Astro DB 데이터베이스](/ko/guides/astro-db/)에 연결하고 관리할 수 있습니다.

Studio 대시보드에서 계정 관리, 도움말 및 지원 메시지 콘솔에 액세스할 수 있습니다.

[Astro Studio](http://studio.astro.build)를 방문하여 회원가입 또는 로그인을 해주세요.

## 새 Studio 프로젝트 생성

Astro Studio에서 프로젝트를 생성하는 방법에는 두 가지가 있습니다.

1. [**Astro Studio 웹 UI**](https://studio.astro.build)를 사용하여 신규 또는 기존 GitHub 저장소에서 생성합니다.

    시작하려면 헤더에 있는 "create project" 버튼을 클릭하고 지침을 따르세요. Astro Studio는 GitHub 저장소를 연결하고 프로젝트를 위한 새로운 호스팅 데이터베이스를 생성합니다.

2. **Astro Studio CLI**를 사용하여 로컬 Astro 프로젝트에서 생성합니다. 다음 명령을 실행하여 시작할 수 있습니다.

    <PackageManagerTabs>
    <Fragment slot="npm">
    ```shell
    # GitHub 계정으로 Astro Studio에 로그인합니다.
    npx astro login

    # 프롬프트를 따라 새 프로젝트에 연결합니다.
    npx astro link

    # (선택 사항) 로컬 DB 구성을 원격 데이터베이스에 푸시합니다.
    npx astro db push
    ```
    </Fragment>
    <Fragment slot="pnpm">
    ```shell
    # GitHub 계정으로 Astro Studio에 로그인합니다.
    pnpm astro login

    # 프롬프트를 따라 새 프로젝트에 연결합니다.
    pnpm astro link

    # (선택 사항) 로컬 DB 구성을 원격 데이터베이스에 푸시합니다.
    pnpm astro db push
    ```
    </Fragment>
    <Fragment slot="yarn">
    ```shell
    # GitHub 계정으로 Astro Studio에 로그인합니다.
    yarn astro login

    # 프롬프트를 따라 새 프로젝트에 연결합니다.
    yarn astro link

    # (선택 사항) 로컬 DB 구성을 원격 데이터베이스에 푸시합니다.
    yarn astro db push
    ```
    </Fragment>
    </PackageManagerTabs>

    로그인 및 연결이 성공적으로 완료되었다면 모든 Astro DB 명령을 실행하여 원격 데이터베이스를 관리할 수 있습니다.

    <ReadMore>사용 가능한 모든 명령은 [Astro DB CLI 참조](/ko/guides/integrations-guide/db/#astro-db-cli-참조)를 확인하세요.</ReadMore>

## Studio 연결을 사용하여 배포

Studio 데이터베이스에 대한 라이브 연결을 통해 Astro DB 프로젝트를 배포할 수 있습니다. 이는 정적 빌드나 [SSR 어댑터](/ko/guides/server-side-rendering/)를 사용하는 모든 배포 플랫폼에서 가능합니다.

먼저 `--remote` 플래그를 사용하여 Studio와 연결하도록 빌드 명령을 구성합니다. 이 예시에서는 프로젝트의 `package.json` 파일에 있는 `"build"` 스크립트에 플래그를 적용합니다. 배포 플랫폼이 빌드 명령을 허용하는 경우 `npm run build`로 설정되어 있는지 확인하세요.

```json title="package.json" "--remote"
{
  "scripts": {
    "build": "astro build --remote"
  }
}
```

### Studio 앱 토큰 생성

프로덕션 배포에서 Studio 데이터베이스에 액세스하려면 앱 토큰을 생성해야 합니다. **Settings** 탭으로 이동하고 **Tokens**를 선택하여 Studio 프로젝트 대시보드에서 앱 토큰을 생성할 수 있습니다.

생성된 토큰을 복사하고 `ASTRO_STUDIO_APP_TOKEN`를 이름으로 사용하여 배포 플랫폼에서 환경 변수 / 환경 비밀로 적용합니다.

## GitHub CI Action 설정

Studio CI action을 사용하면 스키마 변경 사항을 Studio 데이터베이스에 자동으로 푸시할 수 있습니다. 이를 통해 변경 사항이 안전하게 적용될 수 있는지 확인하고 `main`에 병합할 때마다 구성을 최신 상태로 유지합니다.

[GitHub 문서에 따라](https://docs.github.com/ko/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository) `ASTRO_STUDIO_APP_TOKEN`이라는 이름과 Studio 앱 토큰을 비밀 값으로 사용하여 저장소에 새 비밀을 구성하세요.

비밀이 구성되면 프로젝트의 `.github/workflows` 디렉터리에 새 GitHub Actions 워크플로 파일을 생성하여 단계별로 저장소를 체크아웃하고 Node.js를 설치하고 `withastro/action-studio` action을 사용하여 스키마 변경 사항을 동기화하세요.

이 action은 모든 [이벤트 트리거](https://docs.github.com/ko/actions/using-workflows/events-that-trigger-workflows)에서 `astro db verify`를 실행하여 스키마 변경 사항이 안전하게 적용될 수 있는지 확인합니다. **[push](https://docs.github.com/ko/actions/using-workflows/events-that-trigger-workflows#push)** 트리거를 별도로 추가하면 action이 해당 변경 사항을 Studio 데이터베이스에 푸시합니다.

이 예시 GitHub Action `_studio.yml`은 `main` 브랜치가 업데이트될 때마다 변경 사항을 푸시합니다.

```yaml title=".github/workflows/_studio.yml"
name: Astro Studio

env:
  ASTRO_STUDIO_APP_TOKEN: ${{secrets.ASTRO_STUDIO_APP_TOKEN }}

on:
  push:
    branches:
      - main
  pull_request:
    types: [opened, reopened, synchronize]

jobs:
  DB:
    permissions:
      contents: read
      actions: read
      pull-requests: write
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - uses: jaid/action-npm-install@v1.2.1
      - uses: withastro/action-studio@main
```
